// 通用js

//获取url中的参数
function getUrlParam(name) {
  try {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) {
      return unescape(r[2]);
    }
    return null;
  } catch (error) {
    return null
  }
}
// 分页初始化
var pageNumInit = function (pageOptions) {
    //
    var pageListEl = pageOptions.pageListEl;
    var currentPage = pageOptions.currentPage;
    var currentSize = pageOptions.currentSize;
    var pageTotal = pageOptions.pageTotal;
    var callback = pageOptions.callback;

    $('#' + pageListEl).children().remove();
    if (currentPage === 1) {
        $('#' + pageListEl).append(
            "<li class='pages-prev pages-disable' data-page='prev'><a href='javascript:;'><i class='el-icon el-icon-arrow-left'></i></a></li>" +
            getPageNum(pageTotal, currentPage) +
            "<li class='pages-next' data-page='next'><a href='javascript:;'><i class='el-icon el-icon-arrow-right'></i></a></li>"
        );
    }
    else if (currentPage === pageTotal) {
        $('#' + pageListEl).append(
            "<li class='pages-prev' data-page='prev'><a href='javascript:;'><i class='el-icon el-icon-arrow-left'></i></a></li>" +
            getPageNum(pageTotal, currentPage) +
            "<li class='pages-next pages-disable' data-page='next'><a href='javascript:;'><i class='el-icon el-icon-arrow-right'></i></a></li>"
        );
    }
    else {
        $('#' + pageListEl).append(
            "<li class='pages-prev' data-page='prev'><a href='javascript:;'><i class='el-icon el-icon-arrow-left'></i></a></li>" +
            getPageNum(pageTotal, currentPage) +
            "<li class='pages-next' data-page='next'><a href='javascript:;'><i class='el-icon el-icon-arrow-right'></i></a></li>"
        );
    }
    bindChangePageSize(pageListEl, callback)
}

// 页码
function getPageNum(num, currentPage) {
    var result = '';
    for (var i = 0; i < num; i++) {
        if (i === currentPage - 1) {
            result += "<li class='pages-active pages-no' data-page='" + (i + 1) + "'><a href='javascript:;'>" + (i + 1) + "</a></li>";
        }
        else {
            result += "<li class='pages-no' data-page='" + (i + 1) + "'><a href='javascript:;'>" + (i + 1) + "</a></li>";
        }
    }
    return result;
}

// 改变分页数据
function changePageSize(pageNo, callback) {
    var page = pageNo || 1
    currentPage = Number(page);
    callback && callback(page)
}

function changePageActive(type, pageListEl, pageNo, callBack) {
    var pageNoList = $('#' + pageListEl + ' .pages-no')
    var currentPage
    pageNoList.each(function (index) {
        var item = pageNoList[index]
        if ($(item).hasClass('pages-active')) {
            currentPage = $(item)[0].getAttribute('data-page')
        }
    })
    if (currentPage > 1 && type === 'prev') {
        changePageSize(Number(currentPage) - 1, callBack)
    } else if (currentPage < pageNoList.length && type == 'next') {
        changePageSize(Number(currentPage) + 1, callBack)
    } else if (type == 'pageNo' && currentPage != pageNo) {
        changePageSize(pageNo, callBack)
    }
}

function bindChangePageSize(pageListEl, callBack) {
    $('#' + pageListEl).off('click').on('click', 'li', function () {
        var isActive = $(this).hasClass('pages-active')
        if (isActive) {
            return
        }
        var currentPage = $(this)[0].getAttribute('data-page')
        if (currentPage === 'prev') {
            changePageActive('prev', pageListEl , null, callBack)
        } else if (currentPage === 'next') {
            changePageActive('next', pageListEl, null, callBack)
        } else {
            changePageActive('pageNo', pageListEl, currentPage, callBack)
        }
    })
}

// 绑定跳转到指定页面事件
function bindPageJumpEvent(pageJumpInput, pageJumpBtn, pageTotal, callBack) {
    $('#' + pageJumpBtn).off('click').on('click', function () {
        var val = $('#' + pageJumpInput).val()
        if (!val) {
            return
        }
        val = val > pageTotal ? pageTotal : val
        $('#' + pageJumpInput).val(val)
        callBack(val)
    })
}

// 导航搜索成功后执行事件
function navSearchSuccessEvent(linkEl, status, val) {
    if (!status || JSON.stringify(status) === '{}') {
        alert('暂未查询到相关内容~')
    } else {
        var url = ''
        switch (status) {
            case 1:
            case 6:
                url = '/browser/bid/detail.html?bid=' + val
                break
            case 2:
                url = '/browser/deal/detail.html?hash=' + val
                break
            case 3:
                url = '/browser/blockChain/detail.html?number=' + val
                break
            case 4:
                url = '/browser/blockChain/detail.html?hash=' + val
                break
            case 5:
                url = '/browser/contract/detail.html?address=' + val
                break
            default:
                break
        }
        if (url) {
            $('#' + linkEl)[0].setAttribute('href', url)
            $('#' + linkEl + ' span').trigger('click')
        }
    }
}

// 地图省份名字替换
function getMapProvinceName() {
    return {
        '北京市': '北京',
        '上海市': '上海',
        '重庆市': '重庆',
        '天津市': '天津',
        '辽宁省': '辽宁',
        '广东省': '广东',
        '河北省': '河北',
        '河南省': '河南',
        '湖北省': '湖北',
        '湖南省': '湖南',
        '云南省': '云南',
        '山东省': '山东',
        '山西省': '山西',
        '黑龙江省': '黑龙江',
        '吉林省': '吉林',
        '安徽省': '安徽',
        '江苏省': '江苏',
        '浙江省': '浙江',
        '福建省': '福建',
        '江西省': '江西',
        '贵州省': '贵州',
        '四川省': '四川',
        '陕西省': '陕西',
        '甘肃省': '甘肃',
        '青海省': '青海',
        '海南省': '海南',
        '台湾省': '台湾',
        '内蒙古自治区': '内蒙古',
        '西藏自治区': '西藏',
        '新疆维吾尔自治区': '新疆',
        '广西壮族自治区': '广西',
        '宁夏回族自治区': '宁夏',
        '澳门特别行政区': '澳门',
        '香港特别行政区': '香港',
        '南海诸岛': '南海',
    }
}
